package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	configs "gostudy/config"
	"gostudy/pkg/mysqlx"
	admin "gostudy/system/controllers"
	"log"
)

var err error

func main() {
	r := gin.Default()

	// 加载 HTML 模板（使用相对路径或环境变量）

	// 检查当前模式
	switch gin.Mode() {
	case gin.DebugMode:
		fmt.Println("Gin框架当前处于调试模式")
	case gin.ReleaseMode:
		fmt.Println("Gin框架当前处于发布模式")
	case gin.TestMode:
		fmt.Println("Gin框架当前处于测试模式")
	default:
		fmt.Println("未知的运行模式")
	}

	//r.LoadHTMLGlob("F:\\gostudy\\thinkgo\\web\\templates/*/*") // 绝对路径，不推荐
	r.LoadHTMLGlob("./web/templates/*/*") // 假设模板位于项目根目录下的 web/templates 文件夹中
	err = mysqlx.Init()
	if err != nil {
		log.Fatalf("start fail:[Mysql Init] %s", err.Error())
	}

	// 设置路由
	adminGroup := r.Group("/admin")
	adminLoginController := admin.NewLoginController()
	adminLoginController.Routes(adminGroup)
	r.Static("/static/html/X-admin", "./web/static/html/X-admin")
	// 启动服务器
	errs := r.Run(":8080")
	if errs != nil {
		panic(errs) // 使用 panic 或其他错误处理方式
	}
}

func showPanel() {
	fmt.Println("App running at:")
	fmt.Printf("- Http Address:   %c[%d;%d;%dm%s%c[0m \n", 0x1B, 0, 40, 34, "http://"+configs.App.Base.Host+":"+configs.App.Base.Port, 0x1B)
	fmt.Println("")
}
